/**
 * 角度编码转义显示工具函数
 */

/**
 * 获取角度显示名称
 * @param {string} angleCode - 角度编码 (A, B, C, D, E, F)
 * @returns {string} 中文显示名称
 */
export const getAngleDisplayName = angleCode => {
  const mapping = {
    A: '正',
    B: '背',
    C: '细',
    D: '细',
    E: '细',
    F: '详',
  }
  return mapping[angleCode] || angleCode
}

/**
 * 获取角度显示名称（带编码）
 * @param {string} angleCode - 角度编码 (A, B, C, D, E, F)
 * @returns {string} 带编码的中文显示名称
 */
export const getAngleDisplayNameWithCode = angleCode => {
  const displayName = getAngleDisplayName(angleCode)
  return `${displayName}(${angleCode})`
}

/**
 * 批量转换角度编码为显示名称
 * @param {Array} angleCodes - 角度编码数组
 * @param {boolean} withCode - 是否包含编码
 * @returns {Array} 显示名称数组
 */
export const convertAngleCodesToDisplayNames = (angleCodes, withCode = false) => {
  if (!Array.isArray(angleCodes)) return []

  return angleCodes.map(code => {
    return withCode ? getAngleDisplayNameWithCode(code) : getAngleDisplayName(code)
  })
}
